import demo2.Emp;
import demoSet.TestMap;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class TestMap1 {

        public static void main(String[] args) {
            TestMap testMap = new TestMap(); // 创建业务逻辑对象（调用功能方法）
            Map<String, Emp> map = new HashMap<>(); // 创建员工集合（使用HashMap存储员工对象）
            Scanner scanner = new Scanner(System.in);

            boolean flag = true;
            while (flag) {
                System.out.println("欢迎来到员工系统");
                System.out.println("0.退出系统");
                System.out.println("1.添加员工");
                System.out.println("2.查询所有的员工");
                System.out.println("3.根据姓名查询员工");
                System.out.println("4.根据编号删除员工");
                System.out.println("5.根据员工工号查询员工信息");
                System.out.println("6.根据工号修改年龄");
                System.out.println("请选择功能");

                int n = scanner.nextInt();
                switch (n) {
                    case 0:
                        System.out.println("退出系统");
                        flag = false;
                        break;
                    case 1:
                        System.out.println("欢迎来到添加的界面");
                        System.out.println("请输入员工的编号");
                        String addNumber = scanner.next();
                        System.out.println("请输入员工的姓名");
                        String addName = scanner.next();
                        System.out.println("请输入员工的年龄");
                        int addAge = scanner.nextInt();

                        Emp addEmp = new Emp(addNumber, addName, addAge);
                        testMap.addEmp(map, addEmp);
                        System.out.println("员工添加成功：" + addEmp);
                        break;
                    case 2:
                        System.out.println("查询所有的员工");
                        testMap.findAllEmp(map);
                        break;
                    case 3:
                        System.out.println("根据员工姓名查询员工信息");
                        System.out.println("请输入需要查询的员工姓名：");
                        String empName = scanner.next();
                        testMap.findEmpName(map, empName);
                        break;
                    case 4:
                        System.out.println("删除员工信息");
                        System.out.println("请输入需要删除员工的编号：");
                        String empNumber = scanner.next();
                        testMap.deleteEmp(map, empNumber);
                        System.out.println(map);
                        break;
                    case 5:
                        System.out.println("根据员工工号查询员工信息");
                        System.out.println("请输入需要查询的员工工号");
                        String eId = scanner.next();
                        testMap.findEmpNumber(map, eId);
                        break;
                    case 6:
                        System.out.println("根据工号修改年龄");
                        System.out.println("请输入需要查询的员工工号");
                        String updateNumber = scanner.next();
                        System.out.println("请输入需要修改的年龄");
                        int updateAge = scanner.nextInt();

                        Emp emp = testMap.findEmpNumber(map, updateNumber);
                        if (emp != null) {
                            emp.setAge(updateAge);
                            testMap.updateEmp(map, emp);
                            System.out.println(map);
                        } else {
                            System.out.println("员工不存在");
                        }
                        break;
                }
            }
        }
    }

